home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #061 (1990-04)(Amiga User Group Deutschland e.V.).zip / Franz PD Disk #061 (1990-04)(Amiga User Group Deutschland e.V.).adf / Buchstabieren / Buchstabieren (.txt) < prev    next >
AmigaBASIC Source Code  |  1989-07-02  |  5KB  |  164 lines

  1. '*******************************
  2. '*                             *
  3. '*        Buchstabieren        *
  4. '*                             *
  5. '*    Norbert Ellert 11/87     *
  6. '*                             *
  7. '*******************************
  8.  
  9. Bildschirm: 
  10.   SCREEN 1,640,250,2,2
  11.   
  12. Zuweisungen:
  13.   a$(1)="TOBIAS"
  14.   a$(2)="FRANZISKA"
  15.   a$(3)="CAROLINE"
  16.   a$(4)="NINA"
  17.   a$(5)="AMIGA"
  18.   a$(6)="COMMODORE"
  19.  
  20. Auswahlfeld:
  21.   WINDOW 2,"   WELCHEN NAMEN WILLST DU BUCHSTABIEREN ?",,0,1
  22.   SOUND 880,4
  23.   COLOR 1,3
  24.   CLS  
  25.   COLOR 1,2
  26.   FOR j=1 TO 3
  27.     LINE (10+j*200-190,10)-(10+j*200,100),2,bf   'Grosse gruene Kaesten oben
  28.     LINE (14+j*200-190,12)-( 6+j*200, 98),1,b    'Innere weisse Rahmen oben
  29.     LOCATE 3,5+((j-1)*25)
  30.     PRINT a$(j)
  31.     LINE (10+j*200-190,105)-(10+j*200,205),2,bf  'Grosse gruene Kaesten unten
  32.     LINE (14+j*200-190,107)-( 6+j*200,203),1,b   'Innere weisse Rahmen unten
  33.     LOCATE 15,5+((j-1)*25)
  34.     PRINT a$(3+j)
  35.   NEXT j
  36.   LINE (20,210)-(410,230),1,bf                   'Langer weisser Kasten unten
  37.   LINE (24,212)-(406,228),0,b                    'Innerer Rahmen
  38.   COLOR 0,1
  39.   LOCATE 28,15
  40.   PRINT "Klick` das Namensfeld an !";
  41.   LINE (420,210)-(610,230),0,bf                  ' "ENDE"-Kasten
  42.   LINE (424,212)-(606,228),1,b                   ' Innerer Rahmen
  43.   COLOR 1,0
  44.   LOCATE 28,71
  45.   PRINT "ENDE"
  46.   
  47. Mausabfrage:
  48.   Wahl=0
  49.   ON MOUSE GOSUB Maustest
  50.   MOUSE ON
  51.   WHILE Wahl=0 : WEND
  52.  
  53. Beendigung:  
  54.   IF Wahl=7 THEN SYSTEM
  55.   
  56. Suchfeld:
  57.   WINDOW 2,"    WELCHE BUCHSTABEN GEHÖREN ZU DIESEM NAMEN ?",,0,1
  58.   SOUND 880,4
  59.   COLOR 1,2
  60.   CLS
  61.   nam$ = a$(Wahl)
  62.   FOR i=1 TO LEN(nam$)
  63.     LINE ((15+i*56)-40,10)-(15+i*56,30),0,bf    'Schwarze Kaesten
  64.     LINE ((17+i*56)-40,11)-(12+i*56,28),1,b     'Innere Rahmen
  65.     LINE ((15+i*56)-40,153)-(15+i*56,173),0,b   'Schwarze Rahmen unten
  66.     LOCATE 3,i*7 
  67.     COLOR 1,0
  68.    PRINT MID$(nam$,i,1)
  69.   NEXT  
  70.   LINE (25,200)-(615,230),1,bf         'Weisser Kasten unten         
  71.   LINE (29,202)-(611,228),0,b          'Innerer Rahmen
  72.  COLOR 0,1
  73.   LOCATE 27,20
  74.   PRINT "Drück` die richtige Buchstabentaste !"
  75.   LOCATE 28,20
  76.   PRINT "*************************************"
  77.   
  78. Tastendruck:
  79.   FOR i=1 TO LEN(nam$)   
  80.     buchstabe$ = INKEY$
  81.     IF buchstabe$ <> "" THEN buchstabe$ = UCASE$(buchstabe$)  
  82.     IF buchstabe$ = MID$(nam$,i,1) THEN  
  83.       SOUND 440,5
  84.       LINE ((15+i*56)-40,153)-(15+i*56,173),0,bf  'Schwarze Rahmen fuellen
  85.       LINE ((17+i*56)-40,154)-(12+i*56,171),1,b   'Innere Rahmen
  86.       LOCATE 21,i*7
  87.       COLOR 1,0
  88.       PRINT MID$(nam$,i,1)
  89.       LINE ((15+i*56)-45,5)-(20+i*56,178),2,b     'Weissen Rahmen loeschen      
  90.       COLOR 1,2
  91.       FOR j=1 TO 37
  92.         SCROLL ((15+i*56)-40,30)-(15+i*56,173),0,-3  'Scrolling einzeln hoch
  93.       NEXT j
  94.     ELSE  
  95.       LINE ((15+i*56)-45,5)-(20+i*56,178),1,b     'Weissen Rahmen setzen
  96.       LOCATE 12,i*7
  97.       COLOR 1,2
  98.       PRINT "?"
  99.       i=i-1
  100.     END IF
  101.   NEXT i
  102.  
  103. Fertig:
  104.   LINE (26,5)-(20+(i-1)*56,68),1,b                'Weisser Gesamtrahmen oben
  105.   COLOR 3,1
  106.   LOCATE 27,20
  107.   PRINT "      Das hast Du gut gemacht !      "
  108.   LOCATE 28,20
  109.   PRINT "      *************************      "
  110.  
  111. Belohnung:
  112.   CIRCLE (500,150),61,0,,,0.5           'Schwarzen Aussenkreis setzen
  113.   FOR j=0 TO 3
  114.     FOR i=1 TO 60 STEP 4
  115.       SOUND 261*(j+1),5.5
  116.       CIRCLE (500,150),i,3-j,,,0.5
  117.       CIRCLE (500,150),i+1,3-j,,,0.5
  118.       CIRCLE (500,150),i+2,3-j,,,0.5
  119.       CIRCLE (500,150),i+3,3-j,,,0.5
  120.     NEXT i
  121.   NEXT j
  122.   PAINT (501,150),2                    'Schwarzen Kreis fuellen
  123.   
  124. Klickbereich:
  125.   LINE (25,200)-(615,230),2,bf         'Bisherigen Kasten gruen ueberdecken
  126.   LINE (25,200)-(100,230),1,bf         'Weisser Kasten links unten         
  127.   LINE (29,202)-(96,228),0,b           'Innerer Rahmen
  128.   LINE (110,200)-(615,230),1,bf        'Weisser Kasten rechts unten         
  129.   LINE (114,202)-(611,228),0,b         'Innerer Rahmen
  130.   COLOR 0,1 
  131.   LOCATE 27,6
  132.   PRINT "MAUS-"
  133.   LOCATE 28,6
  134.   PRINT "KLICK"
  135.   LOCATE 27,28
  136.   PRINT "           Bitte da klicken !           "
  137.   LOCATE 28,28
  138.   PRINT "<---------------------------------------"
  139.  
  140. Mausklick:
  141.   Klick=0
  142.   ON MOUSE GOSUB Klicktest
  143.   MOUSE ON
  144.   WHILE Klick=0 : WEND
  145.   IF Klick=1 THEN Auswahlfeld
  146.   
  147. Maustest:
  148.   IF MOUSE(0)=0 THEN Maustest
  149.   IF MOUSE(1)> 20 AND MOUSE(1)<210 AND MOUSE(2)> 10 AND MOUSE(2)<100 THEN Wahl=1
  150.   IF MOUSE(1)>220 AND MOUSE(1)<410 AND MOUSE(2)> 10 AND MOUSE(2)<100 THEN Wahl=2
  151.   IF MOUSE(1)>420 AND MOUSE(1)<610 AND MOUSE(2)> 10 AND MOUSE(2)<100 THEN Wahl=3
  152.   IF MOUSE(1)> 20 AND MOUSE(1)<210 AND MOUSE(2)>105 AND MOUSE(2)<205 THEN Wahl=4
  153.   IF MOUSE(1)>220 AND MOUSE(1)<410 AND MOUSE(2)>105 AND MOUSE(2)<205 THEN Wahl=5
  154.   IF MOUSE(1)>420 AND MOUSE(1)<610 AND MOUSE(2)>105 AND MOUSE(2)<205 THEN Wahl=6
  155.   IF MOUSE(1)>420 AND MOUSE(1)<610 AND MOUSE(2)>210 AND MOUSE(2)<230 THEN Wahl=7
  156. RETURN
  157.  
  158. Klicktest:
  159.   IF MOUSE(0)=0 THEN Klicktest
  160.   IF MOUSE(1)>25 AND MOUSE(1)<100 AND MOUSE(2)>200 AND MOUSE(2)<230 THEN Klick=1
  161. RETURN
  162.  
  163.      
  164.